package Leetcode.数组字符串;

/**
 * @Author: kirito
 * @Date: 2024/3/7 22:21
 * @Description:
 * 给你一个下标从 0 开始的字符串 word ，长度为 n ，由从 0 到 9 的数字组成。另给你一个正整数 m 。
 *
 * word 的 可整除数组 div  是一个长度为 n 的整数数组，并满足：
 *
 * 如果 word[0,...,i] 所表示的 数值 能被 m 整除，div[i] = 1
 * 否则，div[i] = 0
 * 返回 word 的可整除数组。
 *
 *
 *
 * 示例 1：
 *
 * 输入：word = "998244353", m = 3
 * 输出：[1,1,0,0,0,1,1,0,0]
 * 解释：仅有 4 个前缀可以被 3 整除："9"、"99"、"998244" 和 "9982443" 。
 * 示例 2：
 *
 * 输入：word = "1010", m = 10
 * 输出：[0,1,0,1]
 * 解释：仅有 2 个前缀可以被 10 整除："10" 和 "1010" 。
 */

public class 找出字符串的可整除数组 {
    public int[] divisibilityArray(String word, int m) {
        int[] res = new int[word.length()];
        long cur = 0;
        for (int i = 0; i < word.length(); i++) {
            char c = word.charAt(i);
            cur = (cur * 10 + (c - '0')) % m;
            res[i] = (cur == 0) ? 1 : 0;
        }
        return res;
    }

    public static void main(String[] args) {
//        int a =100,b=50,c=a---b
//                ,d=a---b
//                ;
//        System.out.println(a);
//        System.out.println(b);
//        System.out.println(c);
//        System.out.println(a);
//        System.out.println(d);

//        Integer a = 1;
//        Integer b = 1;
//        Integer c = 500;
//        Integer d = 500;
//        System.out.print(a == b);
//        System.out.print(c == d);

        String str = "";
        System.out.print(str.split(",").length);
    }
}
